#ifndef _BVTYPE_H_
#define	_BVTYPE_H_
struct Triangle
{
	float3 vertices[3];
};

class BVType
{
public:	
	std::vector<Triangle> m_vTriangles;
	vec3<float> m_vMinimum;
	vec3<float> m_vMaximum;
	std::vector<float3> m_vCentroids;

	BVType(void);
	virtual ~BVType(void);

	virtual void Build(std::vector<Triangle> tris);

	virtual void Translate(float3 move);

	virtual void Draw(void) const;

	virtual void DrawTriangles(void) const;

	virtual bool Intersect(const AABB *BV) const;

	virtual inline const std::vector<Triangle> &GetTriangles(void) const{ return m_vTriangles; }
};

#endif